/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.unifei.portal.dao;

import br.edu.unifei.portal.modelo.ProcessoSeletivo;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;

/**
 *
 * @author Douglas Soares
 */
public class ProcessoSeletivoDao {

    private EntityManager em;

    public ProcessoSeletivoDao(EntityManager em) {
        this.em = em;
    }

    public void create(ProcessoSeletivo processoSeletivo) {
        em.getTransaction().begin();
        em.persist(processoSeletivo);
        em.getTransaction().commit();
    }

    public void update(ProcessoSeletivo processoSeletivo) {
        em.getTransaction().begin();
        em.merge(processoSeletivo);
        em.getTransaction().commit();
    }

    public void delete(int id) {
        em.getTransaction().begin();
        ProcessoSeletivo c = findProcessoSeletivo(id);
        em.remove(c);
        em.getTransaction().commit();
    }

    public ProcessoSeletivo findProcessoSeletivo(int id) {
        return (ProcessoSeletivo) em.createQuery(
                "from ProcessoSeletivo where id = '" + id + "'").getSingleResult();
    }

    public List<ProcessoSeletivo> findAllProcessoSeletivo() {
        return em.createQuery("from ProcessoSeletivo").getResultList();
    }

    public List<ProcessoSeletivo> findPageProcessoSeletivo(int max, int first) {
        Query query = em.createQuery("from ProcessoSeletivo");
        query.setMaxResults(max);
        query.setFirstResult(first);
        return query.getResultList();
    }

    public long getCountProcessoSeletivo() {
        Query query = em.createQuery("from ProcessoSeletivo");
        return (Long) em.createQuery(
                "select count(*) from ProcessoSeletivo").getSingleResult();
    }
}
